package com.wjerp.tplus.server.common.utils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 * 数据对象序列化
 * 类描述：   
 * 创建人：李帅磊   
 * 创建时间：2016年5月19日 下午2:41:57   
 * 修改人：李帅磊   
 * 修改时间：2016年5月19日 下午2:41:57   
 * 修改备注：   .
 * 
 */
public class SerializeUtil {
	
	/**
	 * 序列化.
	 *
	 * @param object the object
	 * @return the byte[]
	 */
    public static byte[] serialize(Object object) {
        ObjectOutputStream oos = null;
        ByteArrayOutputStream baos = null;
        try {
            // 序列化
            baos = new ByteArrayOutputStream();
            oos = new ObjectOutputStream(baos);
            oos.writeObject(object);
            byte[] bytes = baos.toByteArray();
            return bytes;
        } catch (Exception e) {
        	e.printStackTrace();
        }
        return null;
    }

    /**
     * 反序列化.
     *
     * @param bytes the bytes
     * @return the object
     */
    public static Object unserialize(byte[] bytes) {
        ByteArrayInputStream bais = null;
        try {
            // 反序列化
            bais = new ByteArrayInputStream(bytes);
            ObjectInputStream ois = new ObjectInputStream(bais);
            return ois.readObject();
        } catch (Exception e) {
        	e.printStackTrace();
        }
        return null;
    }
}
